//package Demo1_28;
//
///**
// * Created with IntelliJ IDEA.
// * Description:
// * User：Lenovo
// * Date:2025-01-28
// * Time:20:04
// */
//// 定义链表节点类
//class ListNode {
//    int val;
//    ListNode next;
//    ListNode(int x) {
//        val = x;
//        next = null;
//    }
//}
//
//public class PalindromeLinkedList {
//    public boolean isPalindrome(ListNode A) {
//        if (A == null || A.next == null) {
//            return true;
//        }
//        // 步骤 1：找到链表的中间节点
//        ListNode slow = A;
//        ListNode fast = A;
//        while (fast.next != null && fast.next.next != null) {
//            slow = slow.next;
//            fast = fast.next.next;
//        }
//        // 步骤 2：反转链表的后半部分
//        ListNode secondHalf = reverseList(slow.next);
//        // 步骤 3：比较链表的前半部分和反转后的后半部分
//        ListNode p1 = A;
//        ListNode p2 = secondHalf;
//        boolean result = true;
//        while (result && p2 != null) {
//            if (p1.val != p2.val) {
//                result = false;
//            }
//            p1 = p1.next;
//            p2 = p2.next;
//        }
//        // 步骤 4：恢复链表的原始结构
//        slow.next = reverseList(secondHalf);
//        return result;
//    }
//
//    // 反转链表的方法
//    private ListNode reverseList(ListNode head) {
//        ListNode prev = null;
//        ListNode curr = head;
//        while (curr != null) {
//            ListNode nextTemp = curr.next;
//            curr.next = prev;
//            prev = curr;
//            curr = nextTemp;
//        }
//        return prev;
//    }
//
//    public static void main(String[] args) {
//        // 创建测试链表 1 -> 2 -> 2 -> 1
//        ListNode head = new ListNode(1);
//        head.next = new ListNode(2);
//        head.next.next = new ListNode(2);
//        head.next.next.next = new ListNode(1);
//
//        PalindromeLinkedList solution = new PalindromeLinkedList();
//        // 调用 isPalindrome 方法判断链表是否为回文结构
//        boolean isPalindrome = solution.isPalindrome(head);
//        System.out.println(isPalindrome);
//    }
//}